package com.local.dao.hismappers;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.local.entity.report.PayBillReportVo;
import com.local.entity.vo.WorkUserPayBillVo;
import com.local.model.LocalPayBill;
import com.local.model.LocalPayBillExample;
import com.local.page.report.LocalPaybillVoPage;
import com.qianhai.common.dao.face.BaseMapper;

public interface LocalPayBillMapper extends
		BaseMapper<LocalPayBillExample, LocalPayBill, String>
{
	/**
	 * 
	 * 方法描述：通过车牌号找到 流水表中最新一条数据
	 * 
	 * @Title: selectCarNo
	 * @param @param carNo
	 * @param @return
	 * @return LocalPayBill
	 * @user Administrator 2015年9月24日
	 * @throws
	 */
	public LocalPayBill selectCarNo(@Param("carNo") String carNo);
	
	/**
	 * 根据支付时间和userid查询当前流水支付价格总和 方法描述：
	 * 
	 * @Title: selectSumPrice
	 * @param @param localPayBill
	 * @param @return
	 * @return String
	 * @user Administrator 2015年10月4日
	 * @throws
	 */
	public Double selectSumPrice(LocalPayBill localPayBill);
	
	/**
	 * 
	 * 方法描述：移动支付
	 * 
	 * @Title: queryHomeMobile
	 * @param @return
	 * @return List<LocalPayBill>
	 * @user lyf 2015年11月3日
	 * @throws
	 */
	public List<LocalPayBill> queryHomeMobile();
	
	/**
	 * 
	 * 方法描述：现金支付
	 * 
	 * @Title: queryMoney
	 * @param @return
	 * @return List<LocalPayBill>
	 * @user lyf 2015年11月3日
	 * @throws
	 */
	public List<LocalPayBill> queryMoney(String userid);
	
	/**
	 * 
	 * 方法描述： 自动扣费
	 * 
	 * @Title: queryAuto
	 * @param @return
	 * @return List<LocalPayBill>
	 * @user lyf 2015年11月3日
	 * @throws
	 */
	public List<LocalPayBill> queryAuto();
	
	/**
	 * 
	 * 方法描述： 会员
	 * 
	 * @Title: queryMember
	 * @param @return
	 * @return List<LocalPayBill>
	 * @user lyf 2015年11月3日
	 * @throws
	 */
	public List<LocalPayBill> queryMember();
	
	public LocalPayBill queryLastBill(String carInUuid);
	
	//根据进场ID，倒序给APP
	public List<LocalPayBill> queryAllBill(String carInUuid);
	//根据人员统计支付总钱
	public List<WorkUserPayBillVo> countUserBill(@Param("stationUuid")String stationUuid,@Param("rotaStartTime")String rotaStartTime,@Param("rotaEndTime")String rotaEndTime);
	//根据人员与类型统计钱
	public List<WorkUserPayBillVo> countUserAndTypeBill(@Param("stationUuid")String stationUuid,@Param("rotaStartTime")String rotaStartTime,@Param("rotaEndTime")String rotaEndTime);

	public void deleteAll();
	
	
	//查询流水报表
	PayBillReportVo queryPayBillVo(LocalPaybillVoPage<PayBillReportVo> pageInfo);
	
}